home *** CD-ROM | disk | FTP | other *** search
/ isnet Internet / Isnet Internet CD.iso / prog / hiz / 09 / 09.exe / adynware.exe / perl / lib / site / Win32 / IPC.pm < prev    next >
Encoding:
Perl POD Document  |  1999-12-28  |  1.1 KB  |  58 lines

  1. package Win32::IPC;
  2.  
  3. $VERSION = '0.02';
  4.  
  5. =head1 NAME
  6.  
  7. Win32::IPC - Support module for Semaphores, Mutexes,Process
  8. and ChangeNotify Synchronization
  9.  
  10. =head1 SYNOPSIS
  11.  
  12.     use Win32::Process;
  13.     
  14.     Win32::Process::WaitForMultipleObjects(@ListOfObjects,$WaitAll,$Timeout);
  15.  
  16. =head1 DESCRIPTION
  17.  
  18. This module is loaded by any of the IPC supporting modules. (listed above).
  19. It supplies the WaitForMultipleObjects call to those objects.
  20.  
  21. =cut
  22.  
  23. require Exporter;
  24. require DynaLoader;
  25. require AutoLoader;
  26.  
  27. @ISA = qw(Exporter DynaLoader);
  28. @EXPORT = qw(
  29.     INFINITE
  30.     WaitForMultipleObjects
  31. );
  32.  
  33. sub AUTOLOAD {
  34.  
  35.     my($constname);
  36.     ($constname = $AUTOLOAD) =~ s/.*:://;
  37.     $!=0;
  38.     my $val = constant($constname, @_ ? $_[0] : 0);
  39.     if ($! != 0) {
  40.     if ($! =~ /Invalid/) {
  41.         $AutoLoader::AUTOLOAD = $AUTOLOAD;
  42.         goto &AutoLoader::AUTOLOAD;
  43.     }
  44.     else {
  45.         ($pack,$file,$line) = caller;
  46.         die "Your vendor has not defined Win32::IPC macro $constname, used at $file line $line.";
  47.     }
  48.     }
  49.     eval "sub $AUTOLOAD { $val }";
  50.     goto &$AUTOLOAD;
  51. }
  52.  
  53. bootstrap Win32::IPC;
  54.  
  55.  
  56. 1;
  57. __END__
  58.